<!doctype html>
<html class="theme-next use-motion ">
<head>
  

<meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>


<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />








  <link rel="stylesheet" type="text/css" href="/vendors/fancybox/source/jquery.fancybox.css?v=2.1.5"/>



  <link href='//fonts.googleapis.com/css?family=Lato:300,400,700,400italic&subset=latin,latin-ext' rel='stylesheet' type='text/css'>


<link rel="stylesheet" type="text/css" href="/css/main.css?v=0.4.5.1"/>




  <meta name="keywords" content="PHP,程序员,React,js" />



  <link rel="alternate" href="/atom.xml" title="Robbinhan's Blog" type="application/atom+xml" />



  <link rel="shorticon icon" type="image/x-icon" href="/favicon.ico?v=0.4.5.1" />


<meta property="og:type" content="website">
<meta property="og:title" content="Robbinhan's Blog">
<meta property="og:url" content="http://robbinhan.github.io/page/9/index.html">
<meta property="og:site_name" content="Robbinhan's Blog">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Robbinhan's Blog">


<script type="text/javascript" id="hexo.configuration">
  var CONFIG = {
    scheme: '',
    sidebar: 'post'
  };
</script>

  <title> Robbinhan's Blog </title>
</head>

<body itemscope itemtype="http://schema.org/WebPage" lang="">

  <!--[if lte IE 8]>
  <div style=' clear: both; height: 59px; padding:0 0 0 15px; position: relative;margin:0 auto;'>
    <a href="http://windows.microsoft.com/en-US/internet-explorer/products/ie/home?ocid=ie6_countdown_bannercode">
      <img src="http://7u2nvr.com1.z0.glb.clouddn.com/picouterie.jpg" border="0" height="42" width="820"
           alt="You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today or use other browser ,like chrome firefox safari."
           style='margin-left:auto;margin-right:auto;display: block;'/>
    </a>
  </div>
<![endif]-->
  

  <script type="text/javascript">
    var _hmt = _hmt || [];
    (function() {
      var hm = document.createElement("script");
      hm.src = "//hm.baidu.com/hm.js?fb7093a406ece5b08b67a5501b5c6190";
      var s = document.getElementsByTagName("script")[0];
      s.parentNode.insertBefore(hm, s);
    })();
  </script>



  <div class="container one-column 
   page-home 
">
    <div class="headband"></div>

    <header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><h1 class="site-meta">
  <span class="logo-line-before"><i></i></span>
  <a href="/" class="brand" rel="start">
      <span class="logo">
        <i class="icon-next-logo"></i>
      </span>
      <span class="site-title">Robbinhan's Blog</span>
  </a>
  <span class="logo-line-after"><i></i></span>
</h1>

<div class="site-nav-toggle">
  <button>
    <span class="btn-bar"></span>
    <span class="btn-bar"></span>
    <span class="btn-bar"></span>
  </button>
</div>

<nav class="site-nav">
  

  
    <ul id="menu" class="menu ">
      
        
        <li class="menu-item menu-item-home">
          <a href="/" rel="section">
            <i class="menu-item-icon icon-next-home"></i> <br />
            Startseite
          </a>
        </li>
      
        
        <li class="menu-item menu-item-archives">
          <a href="/archives" rel="section">
            <i class="menu-item-icon icon-next-archives"></i> <br />
            Archiv
          </a>
        </li>
      
        
        <li class="menu-item menu-item-tags">
          <a href="/tags" rel="section">
            <i class="menu-item-icon icon-next-tags"></i> <br />
            Tags
          </a>
        </li>
      

      
      
    </ul>
  

  
</nav>

 </div>
    </header>

    <main id="main" class="main">
      <div class="main-inner">
        <div id="content" class="content"> 
  <section id="posts" class="posts-expand">
    
      

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">
    <header class="post-header">

      
      
        <h1 class="post-title" itemprop="name headline">
          
          
            
              <a class="post-title-link" href="/2013/08/11/2013-08-11-84631/" itemprop="url">
                工作三年的总结与感想
              </a>
            
          
        </h1>
      

      <div class="post-meta">
        <span class="post-time">
          Veröffentlicht am
          <time itemprop="dateCreated" datetime="2013-08-11T05:49:00+08:00" content="2013-08-11">
            2013-08-11
          </time>
        </span>

        

        
          
            <span class="post-comments-count">
            &nbsp; | &nbsp;
            <a href="/2013/08/11/2013-08-11-84631/#comments" itemprop="discussionUrl">
              <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2013/08/11/2013-08-11-84631/" itemprop="commentsCount"></span>
            </a>
          </span>
          
        
      </div>
    </header>

    <div class="post-body">

      
      

      
        
          <span itemprop="articleBody"><p></p><p> &nbsp;&nbsp;&nbsp;上周末参加了RubyConfChina大会，听了些ruby国内外大牛的讲座，也见到传说中的Matz；觉得自己更加喜欢ruby这个语言了，就像我在知呼上回答别人问为什么学习ruby，不学习python或php，其实每个人都有自己的喜好，我对ruby的感觉就是它可以让我觉得编程是一件快乐的事情。</p><p> &nbsp;&nbsp;&nbsp;&nbsp;三年前刚刚毕业的自己只是贫会一点点java基础通过了php面试，进入了一家小型外包公司；当时真的只是为了想找份工作，起初也投了很多封java的简历，但是可能时机不对，那是不太招java，反而php的很多，就尝试投了一封，然后做个了简单php系统，就顺利通过了，当时觉得php倒是蛮简单的，语法不复杂，又不用编译，很方便，后来又了解到很多网站又都是通过lamp架构实现的（现在基本都是lnmp架构了），后来又去了解各种提升性能的方式；一年后，又来到现在的公司，因为公司是做互联网游戏的，所以对性能架构更加注重，整体架构也是lnmp，不过我倒也不是做游戏开发，而是做运营的技术支持，两年的工作中我慢慢体会到性能其实可能不是非常重要的问题，而产品才是最最重要的东西，公司当时用户最多的时候达到1kwDAU，并发也不过30；再说到双十一的淘宝，全国几亿网民一起访问，那是的并发可能才是真正的大，淘宝顶住了，淘宝在架构上一定是在性能方面做了很多努力的，而且我也相信双十一那天淘宝增加了许多服务器来均衡负载才通过了考验。所以性能是否真的很重要，或者说是否性能是架构师们，程序员们在项目初期就要关注的东西？</p><p> &nbsp;&nbsp;我想，答案是：不是。公司或者说项目团队，乃至程序员更多关注的应该是产品；没错，就算是程序员我都觉得应该关注产品多点，甚至应该多过技术方面；话说，不会做产品的程序员，不是个好的程序员。比方一个创业公司的老板一定是希望产品尽早上线，然后获得反馈，修改产品，再上线，再反馈……，绝对不会希望花时间在初期考虑性能这种不切实际的东西，因为它不会对自己带来任何收益；如果产品做好了，用户量大了，某天服务器压力大了，这时也不应该是程序员花时间考虑优化性能的时候，如果是我，我会首先找出压力在web，前端，还是存储，哪里不给力，就给哪里加服务器，另外加什么样的服务器也是需要考虑的，我们可能只是希望临时加服务器，所以选择一些可以短租，或者按天租用的服务器，在稳定后再做一些不影响架构方面的性能优化，而不会选择花大量时间在研究代码架构上，首先是人力成本，再是可能会影响整个产品优化的进度，新功能的开发等等，这远比增加服务器成本的代价更大。</p><p></p></span>
        
      
    </div>

    <footer class="post-footer">
      

      

      
      
        <div class="post-eof"></div>
      
    </footer>
  </article>


    
      

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">
    <header class="post-header">

      
      
        <h1 class="post-title" itemprop="name headline">
          
          
            
              <a class="post-title-link" href="/2013/08/11/2013-08-11-84632/" itemprop="url">
                一辈子的时间来鉴证
              </a>
            
          
        </h1>
      

      <div class="post-meta">
        <span class="post-time">
          Veröffentlicht am
          <time itemprop="dateCreated" datetime="2013-08-11T05:49:00+08:00" content="2013-08-11">
            2013-08-11
          </time>
        </span>

        

        
          
            <span class="post-comments-count">
            &nbsp; | &nbsp;
            <a href="/2013/08/11/2013-08-11-84632/#comments" itemprop="discussionUrl">
              <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2013/08/11/2013-08-11-84632/" itemprop="commentsCount"></span>
            </a>
          </span>
          
        
      </div>
    </header>

    <div class="post-body">

      
      

      
        
          <span itemprop="articleBody"><p></p><p> &nbsp;&nbsp;&nbsp;你若不离不弃，我必生死相依！</p><p></p></span>
        
      
    </div>

    <footer class="post-footer">
      

      

      
      
        <div class="post-eof"></div>
      
    </footer>
  </article>


    
      

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">
    <header class="post-header">

      
      
        <h1 class="post-title" itemprop="name headline">
          
          
            
              <a class="post-title-link" href="/2013/08/11/2013-08-11-84633/" itemprop="url">
                喜欢一个人是什么感觉
              </a>
            
          
        </h1>
      

      <div class="post-meta">
        <span class="post-time">
          Veröffentlicht am
          <time itemprop="dateCreated" datetime="2013-08-11T05:49:00+08:00" content="2013-08-11">
            2013-08-11
          </time>
        </span>

        

        
          
            <span class="post-comments-count">
            &nbsp; | &nbsp;
            <a href="/2013/08/11/2013-08-11-84633/#comments" itemprop="discussionUrl">
              <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2013/08/11/2013-08-11-84633/" itemprop="commentsCount"></span>
            </a>
          </span>
          
        
      </div>
    </header>

    <div class="post-body">

      
      

      
        
          <span itemprop="articleBody"><p></p><p>喜欢一个人到底是什么样的感觉呢，是否会在想到她时让心碰碰乱跳，是否总是觉得自己可以为她疯狂，为她做任何事，哪怕做不到，也会不计后果的为她去拼</p><p></p></span>
        
      
    </div>

    <footer class="post-footer">
      

      

      
      
        <div class="post-eof"></div>
      
    </footer>
  </article>


    
      

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">
    <header class="post-header">

      
      
        <h1 class="post-title" itemprop="name headline">
          
          
            
              <a class="post-title-link" href="/2013/08/11/2013-08-11-84634/" itemprop="url">
                阿难说……
              </a>
            
          
        </h1>
      

      <div class="post-meta">
        <span class="post-time">
          Veröffentlicht am
          <time itemprop="dateCreated" datetime="2013-08-11T05:49:00+08:00" content="2013-08-11">
            2013-08-11
          </time>
        </span>

        

        
          
            <span class="post-comments-count">
            &nbsp; | &nbsp;
            <a href="/2013/08/11/2013-08-11-84634/#comments" itemprop="discussionUrl">
              <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2013/08/11/2013-08-11-84634/" itemprop="commentsCount"></span>
            </a>
          </span>
          
        
      </div>
    </header>

    <div class="post-body">

      
      

      
        
          <span itemprop="articleBody"><p></p><p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>我愿化身石桥，愿受五百年风吹，五百年日晒，五百年雨打，只为你从桥上走过。</span></p><p></p></span>
        
      
    </div>

    <footer class="post-footer">
      

      

      
      
        <div class="post-eof"></div>
      
    </footer>
  </article>


    
      

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">
    <header class="post-header">

      
      
        <h1 class="post-title" itemprop="name headline">
          
          
            
              <a class="post-title-link" href="/2013/08/11/2013-08-11-84636/" itemprop="url">
                php时区问题
              </a>
            
          
        </h1>
      

      <div class="post-meta">
        <span class="post-time">
          Veröffentlicht am
          <time itemprop="dateCreated" datetime="2013-08-11T05:49:00+08:00" content="2013-08-11">
            2013-08-11
          </time>
        </span>

        

        
          
            <span class="post-comments-count">
            &nbsp; | &nbsp;
            <a href="/2013/08/11/2013-08-11-84636/#comments" itemprop="discussionUrl">
              <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2013/08/11/2013-08-11-84636/" itemprop="commentsCount"></span>
            </a>
          </span>
          
        
      </div>
    </header>

    <div class="post-body">

      
      

      
        
          <span itemprop="articleBody"><p></p><p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;网上不知道已经有多少篇介绍php执行有时间差是时区问题导致的文章了，但是是否设置了时区就一定准确了呢？</p><p>答案是不一定。</p><p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我就遇到了这样的问题，我的脚本需要请求一个接口，接口会验证请求时间在30秒内的才有效，反复尝试都无法验证通过，对比过时区，都是“Asia/Shanghai”；后来将请求时间记录下来debug发现居然比正常的上海时间快了3分钟，难怪会出错。</p><p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;但是问题又来了，已经设置了相同时区，为什么还是会快3分钟？后来发现php中取到的时间和系统时间是相同的，系统设置的时区是</p><pre config="brush:php;toolbar:false;">ZONE=&quot;Asia/Taipei&quot;<br>UTC=true<br>ARC=false</pre><p>如果已台北时间计算就的确快了3分钟左右，并且UTC设置为true，而接口上的服务器设置为false，所以猜想可能是这个问题导致，查找了相关资料发现如果是true，则是按照BIOS设备时间运行，如果是false则会按照操作系统时间运行，我将其改成了false，然后重新尝试，就成功了。</p><p></p></span>
        
      
    </div>

    <footer class="post-footer">
      

      

      
      
        <div class="post-eof"></div>
      
    </footer>
  </article>


    
      

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">
    <header class="post-header">

      
      
        <h1 class="post-title" itemprop="name headline">
          
          
            
              <a class="post-title-link" href="/2013/08/11/2013-08-11-84635/" itemprop="url">
                mysql连接句柄问题
              </a>
            
          
        </h1>
      

      <div class="post-meta">
        <span class="post-time">
          Veröffentlicht am
          <time itemprop="dateCreated" datetime="2013-08-11T05:49:00+08:00" content="2013-08-11">
            2013-08-11
          </time>
        </span>

        

        
          
            <span class="post-comments-count">
            &nbsp; | &nbsp;
            <a href="/2013/08/11/2013-08-11-84635/#comments" itemprop="discussionUrl">
              <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2013/08/11/2013-08-11-84635/" itemprop="commentsCount"></span>
            </a>
          </span>
          
        
      </div>
    </header>

    <div class="post-body">

      
      

      
        
          <span itemprop="articleBody"><p></p><p> &nbsp;&nbsp;&nbsp;这周帮同事解决了个问题，自己之前到也没遇到过，也学习了。问题是这样的：程序需要在循环中不断切换mysql的链接和数据库选择，但是发现在第二次遇到相同连接，但数据库不同，而且sql语句也应该查不到数据的时候，居然能返回查询数据结果。</p><p> &nbsp;&nbsp;&nbsp;当然，其中也有代码不严谨的问题，例如：mysql对象没有手动销毁，mysql连接没有关闭等等。但是觉得这个可能不是根本原因，所以继续搜索原因。</p><p> &nbsp;&nbsp;&nbsp;后来看了文档发现mysql_connect函数在password之后有个new_link参数，文档说：该值默认是false，当值为true，每一次调用mysql_connect函数，无论前三个参数是否与之前相同，都会创建新连接，反之则返回之前的连接（如果之前的连接没有关闭的话）。</p><p> &nbsp;&nbsp;&nbsp;所以猜想可能正好是这个问题，但是觉得如果真的设置为true，就必须手动关闭mysql连接了，否则可能会出现mysql连接数过大的问题。</p><p></p></span>
        
      
    </div>

    <footer class="post-footer">
      

      

      
      
        <div class="post-eof"></div>
      
    </footer>
  </article>


    
      

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">
    <header class="post-header">

      
      
        <h1 class="post-title" itemprop="name headline">
          
          
            
              <a class="post-title-link" href="/2013/08/11/2013-08-11-84638/" itemprop="url">
                XMLHttpRequest
              </a>
            
          
        </h1>
      

      <div class="post-meta">
        <span class="post-time">
          Veröffentlicht am
          <time itemprop="dateCreated" datetime="2013-08-11T05:49:00+08:00" content="2013-08-11">
            2013-08-11
          </time>
        </span>

        

        
          
            <span class="post-comments-count">
            &nbsp; | &nbsp;
            <a href="/2013/08/11/2013-08-11-84638/#comments" itemprop="discussionUrl">
              <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2013/08/11/2013-08-11-84638/" itemprop="commentsCount"></span>
            </a>
          </span>
          
        
      </div>
    </header>

    <div class="post-body">

      
      

      
        
          <span itemprop="articleBody"><p></p><p> &nbsp;&nbsp;&nbsp;今天帮人解决问题，但是自己都折腾了好久，哎，基本功不扎实啊。</p><p> &nbsp;&nbsp;&nbsp;先说问题：ajax发起请求，因为长时间未响应，需要手动abort请求功能。本来是很简单的功能，用上jQuery，再调用下abort方法，可是居然折腾了近3小时，最后居然是因为用了xmlhttprequest做变量名而导致abort调用无效，因为浏览器中有xmlhttprequest对象，导致使用了关键字，浏览器认为是使用了他自己的对象，导致在readyState状态为4的时候一直调用abort，所以就没效果了。</p><p> &nbsp;&nbsp;&nbsp;周末准备把xmlhttprequest对象好好看下相关资料，jQuery用多了，基本功都忘了啊。。。</p><p></p></span>
        
      
    </div>

    <footer class="post-footer">
      

      

      
      
        <div class="post-eof"></div>
      
    </footer>
  </article>


    
      

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">
    <header class="post-header">

      
      
        <h1 class="post-title" itemprop="name headline">
          
          
            
              <a class="post-title-link" href="/2013/08/11/2013-08-11-84637/" itemprop="url">
                Ruby实现自己的kindle推送
              </a>
            
          
        </h1>
      

      <div class="post-meta">
        <span class="post-time">
          Veröffentlicht am
          <time itemprop="dateCreated" datetime="2013-08-11T05:49:00+08:00" content="2013-08-11">
            2013-08-11
          </time>
        </span>

        

        
          
            <span class="post-comments-count">
            &nbsp; | &nbsp;
            <a href="/2013/08/11/2013-08-11-84637/#comments" itemprop="discussionUrl">
              <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2013/08/11/2013-08-11-84637/" itemprop="commentsCount"></span>
            </a>
          </span>
          
        
      </div>
    </header>

    <div class="post-body">

      
      

      
        
          <span itemprop="articleBody"><p></p><p> &nbsp;&nbsp;&nbsp;项目地址：<a href="https://github.com/lucky215/kindlepush" target="_blank" rel="external">https://github.com/lucky215/kindlepush</a></p><p> &nbsp;&nbsp;&nbsp;&nbsp;自己用Ruby实现了个向kindle推送电子书的小功能，其实原理很简单，所谓的推送，其实就是将电子书以附件的形式发到自己的kindle邮箱就可以了。</p><p></p></span>
        
      
    </div>

    <footer class="post-footer">
      

      

      
      
        <div class="post-eof"></div>
      
    </footer>
  </article>


    
      

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">
    <header class="post-header">

      
      
        <h1 class="post-title" itemprop="name headline">
          
          
            
              <a class="post-title-link" href="/2013/08/11/2013-08-11-84639/" itemprop="url">
                JavaScript 开发的一点心得
              </a>
            
          
        </h1>
      

      <div class="post-meta">
        <span class="post-time">
          Veröffentlicht am
          <time itemprop="dateCreated" datetime="2013-08-11T05:49:00+08:00" content="2013-08-11">
            2013-08-11
          </time>
        </span>

        

        
          
            <span class="post-comments-count">
            &nbsp; | &nbsp;
            <a href="/2013/08/11/2013-08-11-84639/#comments" itemprop="discussionUrl">
              <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2013/08/11/2013-08-11-84639/" itemprop="commentsCount"></span>
            </a>
          </span>
          
        
      </div>
    </header>

    <div class="post-body">

      
      

      
        
          <span itemprop="articleBody"><p></p><p> &nbsp;&nbsp;&nbsp;最近几天老总安排我做个页面，我在这个页面使用了大量的jQuery＋JavaScript，可以说和服务端代码基本是1:1了，所以有些心得记录在此。</p><p> &nbsp;&nbsp;&nbsp;首先是parseInt()，这个函数是将第一个参数转换成整形的，之所以说“第一个参数”，是因为他还有第二个参数，如果当你传的第一个参数是0开头的数字，则JS会认为是8进制的数，如果你希望是以10进制换算，那么你需要在第二参数传入10来指定是10进制的。</p><p> &nbsp;&nbsp;&nbsp;另外，我们之前最早接触JS的时候，当需要调试代码，经常使用alert函数来查看数据的值，但是这种方式其实很不好，首先，如果你需要查看的数据是在循环内的数据，这样会不停的弹出窗口，很不方便，另外如果在上线的时候有某段alert没有去掉，则会对用户产生影响；再者，如果需要打印的数据是数组或者对象，alert会非常麻烦。所以解决方法就是使用console.log()方法处理，并且这方法还能在手机的浏览器中的控制台使用，非常方便。</p><p> &nbsp;&nbsp;&nbsp;最后，JS中的Date对象我发现在iphone下的浏览器会无法解析时间，网上似乎是有解决方法，但是那个方法还需手动调整时区，比较麻烦。暂时还不知道好的解决方法，推荐服务端处理了，直接将值传递给JS。</p><p> &nbsp;&nbsp;&nbsp;这次之后我觉得coffee script很有必要学习啊！！！</p><p>2012-09-07更新：</p><p> &nbsp;&nbsp;今天再次尝试console.log函数调试，发现几点问题。</p><p>1.在chrome或webkit核心浏览器下log数组会有元素显示&sup1;undefined * x(x表示自然数)，在firefox下则直接显示NaN</p><p> &nbsp;&nbsp;&nbsp;这个暂时还不能确定原因，猜测是我代码里先log打印了数组，然后使用pop函数弹出元素，而Array对象是引用的，所以在显示的时候无法找到原先的元素，所有该元素就显示undefined，但是这可能和JavaScript引擎也有一定的关系。</p><p>2.其实上面也提到说虽然代码里先log，然后在pop，所以似乎看上去应该是能够先把数组完整打印出来，然后pop出一个元素，再打印数组才会少去一个元素，但是这样打印也不应该有undefined关键字出现，所以暂时也无法确定是什么原因</p><p></p></span>
        
      
    </div>

    <footer class="post-footer">
      

      

      
      
        <div class="post-eof"></div>
      
    </footer>
  </article>


    
      

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">
    <header class="post-header">

      
      
        <h1 class="post-title" itemprop="name headline">
          
          
            
              <a class="post-title-link" href="/2013/08/11/2013-08-11-84640/" itemprop="url">
                产品设计与开发成本的平衡
              </a>
            
          
        </h1>
      

      <div class="post-meta">
        <span class="post-time">
          Veröffentlicht am
          <time itemprop="dateCreated" datetime="2013-08-11T05:49:00+08:00" content="2013-08-11">
            2013-08-11
          </time>
        </span>

        

        
          
            <span class="post-comments-count">
            &nbsp; | &nbsp;
            <a href="/2013/08/11/2013-08-11-84640/#comments" itemprop="discussionUrl">
              <span class="post-comments-count disqus-comment-count" data-disqus-identifier="2013/08/11/2013-08-11-84640/" itemprop="commentsCount"></span>
            </a>
          </span>
          
        
      </div>
    </header>

    <div class="post-body">

      
      

      
        
          <span itemprop="articleBody"><p></p><p> &nbsp;工作中接到任务时，其实程序猿本身也要考虑产品人员的想法是否符合实际情况，需要考虑开发所需要的成本，与开发之后的效果是否时成正比，如果成本过大，应该与产品人员沟通，是否可以取消或者采用另一种简便的方式达到所必须的功能；毕竟大部分产品人员并不是程序猿出身，不知道设计的功能所需要的开发成本，这需要开发人员及时与产品人员及时沟通，避免不必要的麻烦。</p><p></p></span>
        
      
    </div>

    <footer class="post-footer">
      

      

      
      
        <div class="post-eof"></div>
      
    </footer>
  </article>


    
  </section>

  
  <nav class="pagination">
    <a class="extend prev" rel="prev" href="/page/8/">&laquo;</a><a class="page-number" href="/">1</a><span class="space">&hellip;</span><a class="page-number" href="/page/8/">8</a><span class="page-number current">9</span><a class="page-number" href="/page/10/">10</a><span class="space">&hellip;</span><a class="page-number" href="/page/18/">18</a><a class="extend next" rel="next" href="/page/10/">&raquo;</a>
  </nav>

 </div>

        

        
      </div>

      
  
  <div class="sidebar-toggle">
    <div class="sidebar-toggle-line-wrap">
      <span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
    </div>
  </div>

  <aside id="sidebar" class="sidebar">
    <div class="sidebar-inner">

      

      <section class="site-overview">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
          <img class="site-author-image" src="/images/default_avatar.jpg" alt="robbinhan" itemprop="image"/>
          <p class="site-author-name" itemprop="name">robbinhan</p>
        </div>
        <p class="site-description motion-element" itemprop="description"></p>
        <nav class="site-state motion-element">
          <div class="site-state-item site-state-posts">
            <a href="/archives">
              <span class="site-state-item-count">175</span>
              <span class="site-state-item-name">Artikel</span>
            </a>
          </div>

          <div class="site-state-item site-state-categories">
            
              <span class="site-state-item-count">8</span>
              <span class="site-state-item-name">Kategorien</span>
              
          </div>

          <div class="site-state-item site-state-tags">
            <a href="/tags">
              <span class="site-state-item-count">3</span>
              <span class="site-state-item-name">Tags</span>
              </a>
          </div>

        </nav>

        
          <div class="feed-link motion-element">
            <a href="/atom.xml" rel="alternate">
              <i class="menu-item-icon icon-next-feed"></i>
              RSS
            </a>
          </div>
        

        <div class="links-of-author motion-element">
          
        </div>

        
        

        <div class="links-of-author motion-element">
          
        </div>

      </section>

      

    </div>
  </aside>


    </main>

    <footer id="footer" class="footer">
      <div class="footer-inner"> <div class="copyright" >
  
  &copy; &nbsp; 
  <span itemprop="copyrightYear">2016</span>
  <span class="with-love">
    <i class="icon-next-heart"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">robbinhan</span>
</div>

<div class="powered-by">
  Erstellt mit  <a class="theme-link" href="http://hexo.io" rel="external nofollow">Hexo</a>
</div>

<div class="theme-info">
  Theme -
  <a class="theme-link" href="https://github.com/iissnan/hexo-theme-next" rel="external nofollow">
    NexT
  </a>
</div>

<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "//hm.baidu.com/hm.js?79a704ba5a6d022fa4f136371be54aed";
  var s = document.getElementsByTagName("script")[0];
  s.parentNode.insertBefore(hm, s);
})();
</script>

 </div>
    </footer>

    <div class="back-to-top"></div>
  </div>

  <script type="text/javascript" src="/vendors/jquery/index.js?v=2.1.3"></script>

  
  
  
    
    

  

    <script type="text/javascript">
      var disqus_shortname = 'robbinhan';
      var disqus_identifier = 'page/9/index.html';
      var disqus_title = '';
      var disqus_url = '';

      function run_disqus_script(disqus_script){
        var dsq = document.createElement('script');
        dsq.type = 'text/javascript';
        dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
      }

      run_disqus_script('count.js');
      
    </script>
  


  
  
  <script type="text/javascript" src="/vendors/fancybox/source/jquery.fancybox.pack.js"></script>
  <script type="text/javascript" src="/js/fancy-box.js?v=0.4.5.1"></script>


  <script type="text/javascript" src="/js/helpers.js?v=0.4.5.1"></script>
  

  <script type="text/javascript" src="/vendors/velocity/velocity.min.js"></script>
  <script type="text/javascript" src="/vendors/velocity/velocity.ui.min.js"></script>

  <script type="text/javascript" src="/js/motion_global.js?v=0.4.5.1" id="motion.global"></script>




  <script type="text/javascript" src="/js/nav-toggle.js?v=0.4.5.1"></script>
  <script type="text/javascript" src="/vendors/fastclick/lib/fastclick.min.js?v=1.0.6"></script>

  

  <script type="text/javascript">
    $(document).ready(function () {
      if (CONFIG.sidebar === 'always') {
        displaySidebar();
      }
      if (isMobile()) {
        FastClick.attach(document.body);
      }
    });
  </script>

  

  
  

  
  <script type="text/javascript" src="/js/lazyload.js"></script>
  <script type="text/javascript">
    $(function () {
      $("#posts").find('img').lazyload({
        placeholder: "/images/loading.gif",
        effect: "fadeIn"
      });
    });
  </script>
</body>
</html>
